Network Time-Shift Buffering, Recording Conversion, And Content Management

ABSTRACT

Methods and systems for managing content are disclosed. An example method can comprise monitoring a number of users accessing content, and recording a first segment of the content if the number of users accessing the content reaches a threshold value. A second segment of the content can be recorded based on a request to record the second segment of the content, and at least a portion of the recording of the first segment of the content can be associated with the recording of the second segment of the content.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/463,650, filed Mar. 20, 2017, which is a continuation of U.S.application Ser. No. 14/885,663, filed Oct. 16, 2015, and issued as U.S.Pat. No. 9,654,828, which is a continuation of U.S. application Ser. No.14/192,126, filed Feb. 27, 2014 and issued as U.S. Pat. No. 9,197,932,which are herein incorporated by reference in their entireties.

BACKGROUND

Digital video recorders allow users to record content. Users may lookfor content by browsing through a list of content transmissions. When auser arrives at a content of interest, the user may choose to record thecontent. Digital video recorders only allow users to record portions ofthe content that are transmitted after the user access at a contenttransmission. There is a need for more sophisticated content recordingtechniques that allow users to record portions of content that aretransmitted or occur before a user accesses the content.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive, as claimed. Provided are methods and systemsfor managing content. An example method can comprise monitoring a numberof users accessing content (e.g., transmission, stream, file) andrecording a first segment of the content if the number of users (e.g.,subscribers, clients, devices) accessing the content reaches a thresholdvalue. A second segment of the content can be recorded based on arequest to record the second segment of the content, and at least aportion of the recording of the first segment of the content can beassociated with the recording of the second segment of the content.

In another aspect, an example method can comprise recording a firstsegment of content (e.g., transmission, stream, file) and receiving asecond segment of the content from a remote device. The remote devicecan be configured to record or otherwise store the content in atemporary recording buffer based on a threshold number of users (e.g.,subscribers, clients, devices) accessing the content. At least a portionof the first segment can be associated with at least a portion of thesecond segment and provided as a single item of content.

In another aspect, an example method can comprise receiving a request toaccess content (e.g., transmission, stream, file) from a first user andrecording a first segment of the content based on the request. The firstsegment can begin at a first time. A request to record a second segmentof the content can be received from a second user, and the secondsegment of the content can be recorded. The second segment can begin ata second time. At least a portion of the recording of the first segmentof the content can be associated with the recording of the secondsegment of the content.

In another aspect, content (e.g., transmission, stream, file) can berequested. A first segment of the content can be recorded at a device ifa number of users (e.g., subscribers, clients, devices) accessing thecontent reaches a threshold value. A second segment of the content canbe requested to be recorded and access to at least the recording of thesecond segment of the content can be requested. In response torequesting access to at least the recording of the second segment of thecontent, access can be granted and/or received to a recording of thecontent comprising at least some of the recording of the first segmentof the content and at least some of the recording of the second segmentof the content.

In another aspect, a number of users accessing content (e.g.,transmission, stream, file) can be monitored. Content can be recorded,starting at a first time, in a time-shift buffer based on the number ofusers (e.g., subscribers, clients, devices) accessing the contentreaching a threshold value. The content can be recorded (e.g., in astorage location such as local or remote storage), starting at a secondtime, based on a request from a user. The recording of the content inthe time-shift buffer and the recording of the content requested by theuser can be combined (e.g., at the storage location or other device) orotherwise associated.

Additional advantages will be set forth in part in the description whichfollows or may be learned by practice. The advantages will be realizedand attained by means of the elements and combinations particularlypointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments and together with thedescription, serve to explain the principles of the methods and systems:

FIG. 1 is a block diagram illustrating a system for providing content;

FIG. 2 is a flowchart illustrating an example method for providing aservice;

FIG. 3 is a flowchart illustrating another example method for providinga service;

FIG. 4 is a flowchart illustrating an example method for managingcontent;

FIG. 5 is a flowchart illustrating another example method for managingcontent;

FIG. 6 is a flowchart illustrating yet another example method formanaging content;

FIG. 7 is a flowchart illustrating an example method for managingcontent;

FIG. 8 is a flowchart illustrating an example method for managingcontent; and

FIG. 9 is a block diagram illustrating an example computing device whichcan be used to implement various methods and systems disclosed herein.

DETAILED DESCRIPTION

Before the present methods and systems are disclosed and described, itis to be understood that the methods and systems are not limited tospecific methods, specific components, or to particular implementations.It is also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting.

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc. of these components are disclosed that while specificreference of each various individual and collective combinations andpermutations of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, steps in disclosed methods. Thus, if there are a varietyof additional steps that can be performed it is understood that each ofthese additional steps can be performed with any specific embodiment orcombination of embodiments of the disclosed methods.

The present methods and systems may be understood more readily byreference to the following detailed description of preferred embodimentsand the examples included therein and to the Figures and their previousand following description.

As will be appreciated by one skilled in the art, the methods andsystems may take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment combining software andhardware aspects. Furthermore, the methods and systems may take the formof a computer program product on a computer-readable storage mediumhaving computer-readable program instructions (e.g., computer software)embodied in the storage medium. More particularly, the present methodsand systems may take the form of web-implemented computer software. Anysuitable computer-readable storage medium may be utilized including harddisks, CD-ROMs, optical storage devices, or magnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

The present disclosure relates to methods and systems for recordingcontent and for providing recorded content. In one aspect, the presentmethods and systems can maintain recording buffers (e.g., time-shiftbuffers) while users (e.g., devices) are accessing (e.g., viewing)content. For example, a recording buffer can continue to record contentfrom a service, such as a content transmission (e.g. stream, filetransfer), while at least a threshold number of users (e.g.,subscribers, clients, devices) are accessing the content. In one aspect,a user can request that a portion of the content transmission berecorded. The request, however, might occur after a specific contentitem (e.g., show, program, movie) within the content transmission hasalready begun. The present methods and systems allow a user to receive arecording that comprises portions of the content transmission bothbefore and after the user requests a recording of the contenttransmission to begin. For example, the portion of the contenttransmission recorded after the request can be combined or otherwiseassociated with portions of the content transmission that are recordedin a recording buffer before the request. The combined portions of thecontent transmission can together comprise a content item. Suchcombination and/or association of recorded content can be accomplishedeven though the user requesting the content did not access the contentwhen the first portion of the content transmission was delivered tousers. For example, a portion of a content transmission that is recordedin a time-shift buffer for one or more users can be used for the benefitof one or more other users. Content stored in such recording buffers canbe shared among the users, as well as copied, added, associated orotherwise assimilated into subsequent recordings requested by otherusers.

Those skilled in the art will appreciate that present methods may beused in systems that employ both digital and analog equipment. Oneskilled in the art will appreciate that provided herein is a functionaldescription and that the respective functions can be performed bysoftware, hardware, or a combination of software and hardware.

In an exemplary embodiment, as described in more detail herein themethods and systems disclosed can be located within one or more of amonitoring unit, a recording unit, and/or a buffering unit of thecontent device described herein. For example, the monitoring unit cancount the number of users accessing a content transmission. If thenumber of users (e.g., subscribers, clients, devices) is above athreshold amount, the buffering unit can record a content transmissionin a recording buffer. The recording unit can combine the recordedportion of the content transmission in the recording buffer with otherrecorded portions of content transmission requested by a user.

FIG. 1 is a block diagram illustrating a system 100 for providingcontent. In one aspect, the system 100 can comprise a content device102. The content device 102 can be communicatively coupled to one ormore devices through a network 104. In one aspect, the network 104 cancomprise a packet switched network (e.g., internet protocol basednetwork), a non-packet switched network (e.g., quadrature amplitudemodulation based network), and/or the like. The network 104 can comprisenetwork adapters, switches, routers, modems, and the like connectedthrough wireless links (e.g., radio frequency, satellite) and/orphysical links (e.g., fiber optic cable, coaxial cable, Ethernet cable,or a combination thereof). In one aspect, the network 104 can beconfigured to provide communication from telephone, cellular, modem,and/or other electronic devices to and throughout the system 100.

In one aspect, the content device 102 can comprise a content unit 103.The content unit 103 can be configured to provide content to devices(e.g. user devices 112) through the network 104. For example, thecontent unit 103 can be configured to provide access to a plurality ofcontent transmissions and services related to content. A contenttransmission can comprise a content stream, file transfer, and/or thelike. For example, the content transmissions can be organized aschannels (e.g., live content streams), content on demand, contentrecordings, and/or other content resources. The content unit 103 cancomprise one or more servers configured to provide content channels(e.g., live content streams), video on demand content, recorded content,electronic program guide information related to the contenttransmissions, and the like. As another example, the content unit 103can comprise one or more content encoders, modulators, multiplexers,packagers (e.g., for fragmenting content), and the like. The contentunit 103 can be implemented as a content server, such as a convergedcable access platform (CCAP). In one aspect, the content unit 103 orparticular functions thereof can be implemented as one or more otherdevices connected to the network 104.

In one aspect, the content device 102 can comprise a monitoring unit 106configured to monitor and/or track users' access to a plurality ofcontent transmissions and/or other related services. For example, themonitoring unit 106 can be configured to receive notifications when auser accesses a content transmission. As an illustration, the monitoringunit 106 can receive notifications that a user is requesting a contenttransmission. The monitoring unit 106 can also receive notificationswhen a user discontinues accessing the content transmission. In oneaspect, an example notification can comprise one or more identifiers,such as user identifiers, time identifiers, network identifiers, contentidentifiers, and the like. For example, content identifiers can beconfigured to identify content and/or a content transmission providingthe content. For example, the content identifiers can identify a contentchannel, content location, program identifier, series identifier, videoon demand content, and the like.

In one aspect, the monitoring unit 106 can be configured to compare acontent identifier received in a notification to a content identifierreceived in one or more previous notifications. For example, themonitoring unit 106 can be configured to receive a first notification ata first time and a second notification at a second time. The firstnotification can comprise a first content identifier associated with auser. The second notification can comprise a second content identifierassociated with the user. The monitoring unit 106 can determine that auser has changed from one content transmission to another contenttransmission (e.g., or other content related service) based on acomparison of the first content identifier and the second contentidentifier. For example, if the first content identifier and secondcontent identifier do not match, then the monitoring unit 106 can beconfigured to determine that the user is no longer viewing or otherwiseaccessing the content transmission associated with the first contentidentifier. In one aspect, the content identifiers can match if theyhave a threshold amount of similarity. As a further example, themonitoring unit 106 can be configured to track devices, such as tuners,associated with a user. For example, each device associated with a usercan have an identifier unique to the device.

In one aspect, the monitoring unit 106 can be configured to count thenumber of users accessing a specified content transmission. For example,the monitoring unit 106 can comprise one or more counters. The counterscan be associated with a specified content transmission. As an example,a counter can comprise any numerical value, such as 0, 1, 5, 10, 200,500, 10000, and the like. For example, the counter can range from zeroto as large a number as can be stored in the content device 102.

As an illustration, when the monitoring unit 106 identifies that a useris accessing a content transmission, the monitoring unit 106 canincrement a counter associated with the content transmission. As anotherexample, when the monitoring unit 106 receives a notification that auser has requested content, the monitoring unit 106 can increment acounter associated with a content identifier in the notification. In oneaspect, the monitoring unit 106 can be configured to decrement a counterassociated with a content transmission when a user discontinuesaccessing the content transmission. For example, the monitoring unit 106can decrement a counter based on a comparison of a first notification toa second notification received after the first notification. If thecontent identifier of the first notification is different than thecontent identifier of the second notification, then the monitoring unit106 can decrement a counter associated with the content identifier ofthe second notification. As another example, the monitoring unit 106 candecrement a counter after receiving a notification that the user hasdiscontinued access of the content transmission.

In one aspect, the content device 102 can comprise a recording unit 108configured to manage recorded content and the recording thereof. Forexample, the recording unit 108 can be configured to receive requests torecord content. As an illustration, the content device 102 can receivecontent through one or more services, such as content transmissions(e.g., content stream, file transfer). In one aspect, the recording unit108 can begin recording a content transmission immediately afterreceiving a request for recording a content transmission. In anotheraspect, the recording unit 108 can be configured to maintain a scheduleof future recordings requested by users. The recording unit 108 can thenrecord a portion of a content transmission when the content transmissionbecomes available or is otherwise scheduled for recording. In oneaspect, the recording unit 108 can be configured to associate one ormore identifiers with a recorded portion of a content transmission. Theone or more identifiers can comprise, for example, user identifiers,recording identifiers, content identifiers, service identifiers, and thelike. In one aspect, the recording unit 108 can be configured to processrequests for recorded portions of content transmissions. For example,the recording unit 108 can be configured to provide a recorded portionof a content transmission to a user at a variety of user devices andlocations throughout the network 104.

In one aspect, the content device 102 can comprise a buffering unit 110configured to provide and/or manage one or more recording buffers.Recording buffers can be temporarily or permanently associated withservices, such as content transmissions, and the like. For example, arecording buffer can be configured to at least temporarily record andstore content from an associated content transmission. In one aspect,the buffering unit 110 can manage the plurality of recording buffersaccording to one or more statuses associated with the recording buffers.Example statuses can comprise: assigned, unassigned, active, inactive,and the like. As an illustration, a recording buffer with the assignedstatus can be assigned to a content transmission. Similarly, a recordingbuffer associated with the unassigned status is not assigned to acontent transmission. A recording buffer associated with the activestatus can be actively recording content from a content transmission. Arecording buffer associated with the inactive status is not currentlyactive in recording a content transmission. In one aspect, the bufferingunit 110 can be configured to change the status of one or more recordingbuffers by assigning, unassigning, activating, and deactivating therecording buffers according to user's requests to access and/or recordcontent from content transmissions.

In one aspect, a recording buffer can be configured as a temporarybuffer, such as a time-shift buffer. One or more of the recordingbuffers can be limited in the amount of a content transmission therecording buffer is allowed to store. For example, a recording buffercan be configured to record X number of minutes of a contenttransmission at Y bit rate. As an illustration, the buffering unit 110can provide a recording buffer configured to store 30 minutes of acontent transmission at a first bit rate, 60 minutes of a contenttransmission at a second bit rate, 90 minutes of a content transmissionat a third bit rate, 120 minutes of a content transmission at a fourthbit rate, or the like. Example bit rates can comprise, 800 Kbps, 1200Kbps, 1800 Kbps, 2400 Kbps, and/or the like. In one aspect, a recordingbuffer can be updated with new content from a content transmission. Forexample, if a recording buffer reaches its storage limit, then thebuffering unit 110 can be configured to delete or overwrite a portion ofthe recorded content transmission, such as the oldest portion of thecontent transmission, and record new content from the contenttransmission instead, thereby maintaining the recording buffer at itslimit. For example the buffering unit 110 can be configured to maintainthe most recent X number of minutes of a content transmission in therecording buffer.

In one aspect, the buffering unit 110 can provide a recording bufferbased on a number of users accessing a content transmission (e.g.,content stream, content file transfer). For example, the buffering unit110 can receive a notification that a user is accessing and/orrequesting access to a content transmission. The buffering unit 110 candetermine if a recording buffer is assigned to and/or actively recordinga content transmission. For example, the buffering unit 110 can receivesuch notifications and/or other information from the monitoring unit106. As an illustration, the buffering unit 110 can receive a count ofthe number of users (e.g., subscribers, clients, devices) accessing thecontent transmission. The buffering unit 110 can be configured tocompare the count to a threshold value. If the count is above (e.g., orequal to) the threshold value, then the buffering unit 110 can assign arecording buffer to the content transmission. The buffering unit 110 canactivate the assigned recording buffer such that the recording bufferbegins to record the content transmission. If the count is below thethreshold value, then the buffering unit 110 can unassign and/ordeactivate a recording buffer assigned to the content transmission. Thethreshold value can be any value, such as 0, 1, 5, 10, 100, 500, 2000,5000, or the like. For example, if the threshold value is one, then thebuffering unit 110 can be configured to assign a recording buffer to acontent transmission and activate the recording buffer to record thecontent transmission any time there is at least one user and/or deviceaccessing the content transmission.

In one aspect, the buffering unit 110 can be configured to end recordingthe content transmission if the number of users (e.g., subscribers,clients, devices) accessing the content transmission becomes less thanthe threshold value. In one aspect, the buffering unit 110 can beconfigured to stop recording in a recording buffer and/or erase therecording buffer when the number of users (e.g., subscribers, clients,devices) accessing the content transmission becomes less than thethreshold value. In another aspect, the buffering unit 110 can beconfigured to continue recording the content transmission if the numberof users accessing the content transmission becomes less than thethreshold value. For example, the recording can be continued based on aprediction that the number of users accessing the content transmissionwill reach the threshold value again within a specified time period. Theprediction can be based on user viewing statistics. The user viewingstatistics can comprise user viewing history for the contenttransmission at a variety of times. The specified time period can be anynumber of seconds and/or minutes, such as 10, 20, 30, or 45 seconds or1, 3, 5, 10, 30, 45 minutes and the like.

In one aspect, the recording unit 108 can be configured to convert atleast a portion of a recording buffer to a recording for future accessby a user. For example, in response to receiving a request to record acontent transmission (e.g., content stream, content file transfer), therecording unit 108 can be configured to determine if a recording bufferhas recorded any portion of the content transmission. In one aspect, therequest to record the content transmission can comprise a request torecord a content item, such as a particular show, episode, movie,programming or the like with a start time and an end time. In oneaspect, the recording unit 108 can be configured to determine the starttime of the requested content item. The recording unit 108 can beconfigured to determine a first portion of the content transmissionbeginning at the start time of the content item and ending at the starttime of the requested recording. The recording unit 108 can beconfigured to determine a second portion of the content transmissionbeginning at the start time of the requested recording and ending at theend time of the content item.

In one aspect, the recording unit 108 can be configured to determine aportion of a content transmission stored in the recording buffer thatcomprises some or all of the portion of the content transmissionbeginning at the start time of the content item and ending at the starttime of the requested recording (e.g., first portion). The recordingunit 108 can be configured to combine or otherwise associate the portionof the content transmission stored in the recording buffer thatcomprises some or all of the first portion of the content transmissionwith a portion of the content transmission recorded by the recordingunit 108 (e.g., second portion). For example, the content transmissioncan comprise a plurality of content fragments. The first portion of thecontent transmission can comprise a first plurality of fragments, and asecond portion of the content transmission can comprise a secondplurality of fragments. The recording unit 108 can be configured toassociate the first plurality of fragments recorded in one recordingbuffer with the second plurality of fragments recorded in anotherrecording buffer (e.g., or other storage location associated with theuser). Associating can comprise linking, grouping, combining, and/or thelike such that the first plurality of fragments can seamlessly beprovided with the second plurality of fragments to a user (e.g., as asingle recording).

As an illustration, a first user can access a content transmission(e.g., content stream, content file transfer) at or before the starttime of a specific content item (e.g., show, episode, movie, program)provided by the content transmission. In response to the first useraccessing the content transmission, the buffering unit 110 can beconfigured to activate a recording buffer to begin recording the contenttransmission. If at some time after the start time of the content item,the first user requests the recording unit 108 to record the contenttransmission, the recording unit 108 can record the content transmissionbeginning at the requested time. Then, the recording unit 108 cancombine the portion of the content transmission from the recordingbuffer with the portion of the content transmission recorded after therequest. In one aspect, a second user can access the contenttransmission. The second user can access the content transmission afterthe start time of the content item and/or after the first user accessesthe content transmission. If the second user requests a recording of thecontent transmission, the recording unit 108 can be configured to recordthe content transmission beginning at the time of the second user'srequest. The recording unit 108 can be configured to combine orotherwise associate the portion of the content transmission stored inthe recording buffer assigned to the content transmission with therecorded portion of the content beginning at the request time of thesecond user.

As another illustration, a first user can request access to a contenttransmission at a first time. For the purposes of this illustration, itis assumed that the threshold value is one. The monitoring unit 106 canincrement a counter associated with the content transmission to a valueof one. The buffering unit 110 can assign a first recording buffer tothe content transmission and/or activate recording of the contenttransmission. A second user can also request access to the contenttransmission at a second time. The monitoring unit 106 can increment thecounter associated with the content transmission to a value of two. Insome scenarios, the first user may choose to discontinue access to thecontent transmission (e.g., by requesting a different contenttransmission) at a third time. In response, the monitoring unit 106 candecrement the counter associated with the content transmission to avalue of one. The buffering unit 110 can continue to record the contenttransmission because the counter has not fallen below the threshold. Athird user can request access to the content transmission, and themonitoring unit 106 can increment the counter to two. The third user canrequest to record the content transmission at a fourth time. Therecording unit 108 can record a portion of the content transmissionbeginning at the fourth time. The recording unit 108 can record theportion of the content transmission in a second recording buffer (e.g.,or other storage) associated with the third user. The recording unit 108can also combine or otherwise associate at least a portion of thecontent transmission recorded by the first recording buffer with atleast a portion of the content transmission recorded by the secondrecording buffer. For example, the portions of the content transmissionrecorded in the first recording buffer and second recording buffer cancollectively comprise an entire content item (e.g., show, episode,movie, program). If the portion of the content transmission recorded inthe first recording buffer comprises a first part of the content item,and the portion of the content transmission recorded in the secondrecording buffer comprises a second part of the content item, then therecording unit 108 can combine or otherwise associate the availableparts of the content item. The third user can later access the combinedor associated portions of the content transmission recorded in the firstrecording buffer and the second recording buffer as a single contentitem. For example, the content unit 103 can be configured to provide thecombined or otherwise associated portions of the content transmission toa user as a single recording and/or content item.

In one aspect, the system 100 can comprise one or more user devices 112.In one aspect, a user device 112 can be configured to receive contentfrom the content device 102 through the network 104. For example, theuser device 112 can be configured to receive content through packetswitched networks and/or non-packet switched networks within the network104. As an example, a user device 112 can comprise a set top box, laptopdevice, television, smart device (e.g., smart phone, smart glasses,smart watch), digital streaming device, portable device, tablet device,computer station, and/or the like.

In one aspect, a user device 112 can comprise a user interfaceconfigured to facilitate accessing content, such as contenttransmissions, from the content device 102. In one aspect, contenttransmission can be organized as channels (e.g., live content streams),content on demand, content recordings, and/or other content resources.In one aspect, a user device 112 can be configured to allow users torequest that content transmissions be recorded for future access by theuser. In one aspect, content transmissions can be recorded at thecontent device 102, user device 112, or other local or remote device. Inone aspect, the user can access particular content items (e.g., show,episode, movie, program) through a live content transmission. The usercan request a recording of a portion of the content transmission. Forexample, the user interface can be configured to allow a user to requestthat a content transmission be recorded from the time of the request. Asanother example, the user can request a recording of a contenttransmission be available for portions of the content transmission thatwere provided (e.g., in a live content transmission) before the requesttime. As an illustration, a content item can have a start time and endtime. If additional recording of the content item is available, such asa portion of the content item provided before the request time, then theuser can request access to the additional recording. In other scenarios,additional recordings can add to the amount of recorded contentavailable to a user. For example, the additional recording can allow thecontent device 102 to provide a recording of content transmission fromthe content item's start time to the content item's end time.

FIG. 2 is a flowchart illustrating an example method 200 for providing aservice. At step 202, a request for a service (e.g., contenttransmission, such as a content stream, an interactive service, contenton demand, file transfer, and/or the like) can be received from a user(e.g., client device). For example, a request can be received for livestreaming content. At step 204, a determination can be made as towhether the service requested by the user has changed in comparison to aprevious request for a service by the user. If the service requested bythe user has changed, the method 200 can proceed to step 206. Forexample, the request for service can comprise a service identifier. Theservice identifier can be compared with a service identifier of aservice previously accessed (e.g., the most recently accessed service)by the user. If the service requested by the user has not changed, themethod 200 can proceed to step 212.

At step 206, a counter associated with a storage element (SE) (e.g., arecording device, storage device, or time-shift buffer (TSB)) can bedecremented if the service requested by the user has changed. Forexample, the counter can indicate the number of users accessing aparticular service. In one aspect, the storage element can at leasttemporarily record content from a previous (e.g., the last) serviceaccessed by the user. At step 208, a determination can be made as towhether the counter has a value of zero (e.g., or some otherpredetermined value). If the counter has a value of zero, then themethod 200 can proceed to step 210. If the counter does not have a valueof zero, then the method 200 can proceed to step 212. At step 210, astate of the time-shift buffer can be changed. For example, the storageelement can be returned to a group of inactive storage elements. Forexample, the state of the storage element can be designated as inactive,or some of other value indicating that the storage element is ready tobe reassigned to a service.

At step 212, a determination can be made as to whether a storage elementis associated with (e.g., configured to actively record) the requestedservice. If the storage element is associated with the requestedservice, then the method 200 can proceed to step 216. If there is nostorage element associated with the requested service, then the method200 can proceed to step 214. At step 214, a storage element can becreated and/or activated. For example, the storage element can beselected from a group of inactive storage elements. For example, theselected storage element can be associated with a service for thepurpose of at least temporarily recording content. At step 216, acounter associated with the requested service can be incremented.

FIG. 3 is a flowchart illustrating another example method 300 forproviding a service. At step 302, a recording can be scheduled to begin.For example, the recording can be based on a request from a useraccessing content through a service, such as a content transmission,content stream, file transfer, and/or the like. In one aspect, therecording can be scheduled to begin immediately. At step 304, adetermination can be made as to whether the start time of content to berecorded is in the past. For example, the request can be a request torecord a live content transmission. The live content transmission cancomprise content, such as a show, episode, movie, programming, and thelike with a start time and an end time. The request for recording of thecontent can be received after the start time of the content. If thestart time of the content is before the recording is scheduled to begin,then the method can proceed to step 306. If the start time of thecontent is not before the recording is scheduled to begin, then themethod 300 can proceed to step 312.

At step 306, a determination can be made as to whether an active storageelement (SE) (e.g., time-shift buffer) is associated with (e.g.,assigned to record content from) the service scheduled to be recorded.For example, an active storage element associated with the service canbe configured to at least temporarily record content delivered throughthe service. If an active storage element is associated with theservice, then the method 300 can proceed to step 308. If an activestorage element is not associated with the service, then the method 300can proceed to step 312.

At step 308, an active storage element can be associated with (e.g.,assigned to record content from) the service. For example, a storageelement can be selected from a pool (e.g., a group) of inactive storageelements. The storage element can be activated for at least temporarilyrecording content from the service. At step 310, storage elementconversion can be performed. For example, content recorded in thestorage element can be combined (e.g., appending one file to another,organizing a first set of content fragments and a second set of contentfragments as one content item) with the recording of the contentinitiated at step 302. The content recorded in the storage element canbe combined with the recording of the content at a storage location suchas content storage device (e.g. storage element) remote or local to auser. As an illustration, a portion of the content recorded in thestorage element can be selected. The portion of the content can begin atthe start time of the content. The portion of the content can end at thetime when the requested recording began.

At step 312, recording of content provided by the service can begin. Forexample, the content can be recorded in a local device or a deviceremote from a user location. The recording can be accessed later by theuser at a variety of locations through a variety of devices. At step314, recording can continue until the content provided by the serviceends. For example, the recording can end at the end time of a show,episode, movie, programming, or the like.

FIG. 4 is a flowchart illustrating an example method 400 for managingcontent. At step 402, a number of users (e.g., subscribers, clients,devices) accessing content (e.g., transmission, stream, file) can bemonitored (e.g., tracked). For example, a count of the number of usersaccessing the content can be increased and/or decreased based on achange in the number of users accessing the content. As an illustration,when a user tunes to, requests, or otherwise access the content, thecount can be increased or incremented by one or some other appropriatevalue. When a user (e.g., the same or a different user) tunes away from,disconnects from, or otherwise leaves the content, the count can bedecreased or decremented by one or some other value. As long as at leastone user is tuned to or otherwise accessing the content, the count canhave a value greater than zero. When no users are tuned to or otherwiseaccessing the content, then the count can have a value of zero.

At step 404, a determination can be made as to whether the number ofusers (e.g., subscribers, clients, devices) accessing the content is ator above a threshold value. For example, the threshold value can be 0,1, 5, 10, 20, 50, 100, 1000, or any appropriate value. If the number ofusers is at or above the threshold value, then the method 400 canproceed to step 406. If the number of users is not at or above thethreshold value, the method 400 can return to step 402.

At step 406, a first segment of the content can be recorded. Forexample, the first segment of the content can be recorded in a temporarystorage buffer, such as a time-shift buffer. The temporary storagebuffer can be continually updated such that only the most recent portionof the content (e.g., the last 2 hours) is stored in the temporarystorage buffer. For example, the temporary storage buffer can have alimited allocation of space. As the temporary storage buffer continuesto record new content, content recorded in the buffer (e.g., the oldestcontent) can be deleted and/or replaced with new content.

In some implementations of step 406, the first segment of the contentcan be recorded as long as the number of users accessing the content isequal to the threshold value and/or above the threshold value. Forexample, the count can be compared to the threshold value at regular orirregular time intervals. If the count is below the threshold, then thetemporary storage buffer can be released from recording and, in someaspects, associated with a pool of unassociated storage buffers. In somescenarios, the recording can be deleted or otherwise overwritten afterit is released. In other scenarios, the recording can be saved and/orcopied to another a storage location.

At step 408, a request to record a second segment of the content can bereceived. For example, a user can request to record at least a portionof the content (e.g., content stream). The request can be for arecording of an entire content item or for a portion thereof. As afurther example, the user can press a record button or otherwise providea similar instruction while the user is accessing the content.

At step 410, a second segment of the content can be recorded based onthe request to record the second segment of the content. For example,the second segment can be recorded in a storage location associated withthe user. As another example, the second segment can be recorded in atemporary recording buffer. The second segment can be copied from thetemporary recording buffer to a storage location associated with theuser.

At step 412, at least a portion of the recording of the first segment ofthe content can be associated with (e.g., combined with, stored with,appended to, indexed together, listed together, logically associated asa file) the recording of the second segment of the content. As anillustration, the content can comprise a content item having a starttime and an end time. In one aspect, the first segment of the contentcan comprise a first part of a content item. The first part of thecontent item can begin at a first time (e.g., start time). In somescenarios, the first time can be after the time at which recording ofthe first segment of the content begins. In other scenarios, the firsttime can be before the time at which recording of the first segmentbegins. In one aspect, the second segment of the content can comprise asecond part of the content item. The second part of the content item canbegin at a second time. The second time can be after the first time. Ifthe first time is after the time at which recording of the first segmentbegins, then the first part and the second part of the content item cantogether comprise the entire content item. If the first time is beforethe time at which recording of the first segment begins, then the firstpart and the second part of the content item can together comprise aportion of the content item.

In one aspect, step 412 can comprise combining the first part of thecontent item and the second part of the content item to obtain a singlecontent item (e.g., a single recording). For example, the first segmentcan comprise a plurality of first content fragments. The second segmentcan comprise a plurality of second content fragments. At least a portionof the first content fragments can be copied and added to at least aportion of the second content fragments. The single content item cancomprise more of the content item than was available in the secondsegment. In one aspect, the single content item can be associated withthe user requesting to record the second segment of the content.

At step 414, the single content item associated with a user can beprovided. For example, the recording of the first segment of the contentand the associated recording of the second segment of the content can beprovided as the single content item associated with the user. In oneaspect, step 414 can occur if the start time of the content item isprior in time to a start time of the recording of the second segment ofthe content. In one aspect, the single content item can be provided tothe user through an access and/or delivery network. For example, therecording can be provided through a packet switching protocol (e.g.,Internet Protocol) and/or a non-packet switching protocol (e.g.,quadrature amplitude modulation).

At step 416, the recording of the first segment of the content can becontinued if the number of users accessing the content becomes less thanthe threshold value. For example, the recording can be continued basedon a prediction that the number of users accessing the content willreach the threshold value again within a specified time period. Theprediction can be based on user viewing statistics. The user viewingstatistics can comprise user viewing history for the content at avariety of times. The specified time period can be any number of secondsand/or minutes, such as 10, 20, 30, or 45 seconds or 1, 3, 5, 10, 30, 45minutes and the like.

At step 418, recording of the first segment of the content can be endedif the number of users accessing the content becomes less than thethreshold value. For example, if the number of users accessing thecontent is below the threshold, then the temporary storage buffer can bereleased from recording and associated with a pool of unassociatedstorage buffers. In some scenarios, the recording can be deleted orotherwise overwritten after it is released. In other scenarios, therecording can be saved and/or copied to another storage location.

FIG. 5 is a flowchart illustrating another example method 500 formanaging content. At step 502, a request to access content (e.g.,transmission, stream, file) can be received from a first user (e.g.,subscriber, client, device). For example, the first user can tune to thecontent or request the content based on a uniform resource identifier,such as a hypertext transfer protocol based identifier.

At step 504, the number of users (e.g., subscribers, clients, devices)accessing the content can be determined (e.g., counted). As anillustration, when a user tunes to, requests, or otherwise accesses thecontent, a count of the number of users can be increased or incrementedby one or some other appropriate value. When a user (e.g., the same or adifferent user) tunes away from, disconnects from, or otherwise leavesthe content, the count of the number of users can be decreased ordecremented by one or some other value. As long as at least one user istuned to or otherwise accessing the content, the count of the number ofusers can have a value greater than zero. When no users are tuned to orotherwise accessing the content, then the count of the number of userscan have a value of zero.

At step 506, a first segment of the content can be recorded. Forexample, the first segment can be recorded based on the request toaccess the content from the first user. In one aspect, the first segmentof the content can be recorded in a temporary storage buffer, such as atime-shift buffer. The temporary storage buffer can be continuallyupdated such that only the most recent portion of the content (e.g., thelast 2 hours) is stored in the temporary storage buffer. For example,the temporary storage buffer can have a limited allocation of space. Asthe temporary storage buffer continues to record new content (e.g., froma content stream), content recorded in the buffer (e.g., the oldestcontent) can be deleted and/or replaced with new content (e.g., from thecontent stream).

In one aspect, recording the first segment can occur if a counter is ator above a threshold value. For example, the threshold value can be 0,1, 5, 10, 20, 50, 100, 1000, or any appropriate value. As anotherexample, recording the first segment of the content can be recorded aslong as a number of users accessing the content is equal to thethreshold value and/or above the threshold value. For example, thenumber can be compared to the threshold value at regular or irregulartime intervals. If the number is below the threshold, then the temporarystorage buffer can be released from recording and associated with a poolof unassociated storage buffers. In some scenarios, the recording of thefirst segment can be deleted or otherwise overwritten after it isreleased. In other scenarios, the recording of the first segment can besaved and/or copied to another storage location.

At step 508, a request to record a second segment of the content can bereceived from a second user. For example, the second user can request torecord at least a portion of the content. The request can be for arecording of an entire content item or for a portion thereof. As afurther example, the second user can press a record button or otherwiseprovide a similar instruction while the user is accessing the content.

At step 510, the second segment of the content can be recorded. Forexample, the second segment can be recorded in a storage locationassociated with the second user. As another example, the second segmentcan be recorded in a temporary recording buffer. The second segment canbe copied from the temporary recording buffer to a storage locationassociated with the second user.

At step 512, at least a portion of the recording of the first segment ofthe content can be associated with (e.g., combined with, stored with,appended to, indexed together, listed together, logically associated asa file) the recording of the second segment of the content. As anillustration, the content can comprise a content item having a starttime and an end time. The first segment can begin at a first time. Thesecond segment can begin at a second time. In one aspect, the firstsegment of the content can comprise a first part (e.g., segment,portion) of a content item. The first part of the content item can beginat a third time (e.g., start time). In some scenarios, the third timecan be after first time. In other scenarios, the third time can bebefore the first time. In one aspect, the second segment of the contentcan comprise a second part of the content item. The second part of thecontent item can begin at the second time. The second time can be afterthe third time. If the third time is after first time, then the firstpart and the second part of the content item can together comprise theentire content item. If the third time is before the first time, thenthe first part and the second part of the content item can togethercomprise a portion of the content item. In one aspect, associating atleast the portion of the recording of the first segment of the contentwith the recording of the second segment of the content can occur if astart time of the content item is prior in time to the second time.

In one aspect, step 512 can comprise combining the first part of thecontent item and the second part of the content item to obtain a singlerecording. For example, the first segment can comprise a plurality offirst content fragments. The second segment can comprise a plurality ofsecond content fragments. At least a portion of the first contentfragments can be copied and added to at least a portion of the secondcontent fragments. The single recording can comprise more of the contentitem than was available in the second segment. In one aspect, the singlerecording can be associated with the second user.

At step 514, a single recording can be provided to the second user. Forexample, the at least a portion of the recording of the first segment ofthe content associated with the recording of the second segment of thecontent can be provided as a single recording associated with the seconduser. In one aspect, the single recording can be provided to the seconduser through an access and/or delivery network. For example, therecording can be provided through a packet switching protocol (e.g.,Internet Protocol) and/or a non-packet switching protocol (e.g.,quadrature amplitude modulation).

At step 516, the recording of the first segment of the content can becontinued. In one aspect, the recording can be continued if the numberof users accessing the content becomes less than a threshold value. Forexample, the recording based on a prediction that the number of usersaccessing the content will reach the threshold value again within aspecified time period. The prediction can be based on user viewingstatistics. The user viewing statistics can comprise user viewinghistory for the content at a variety of times. The specified time periodcan be any number of seconds and/or minutes, such as 10, 20, 30, or 45seconds or 1, 3, 5, 10, 30, 45 minutes and the like.

At step 518, the recording of the first segment of the content can beended. For example, recording of the first segment can be ended if thenumber of users accessing the content becomes less than the thresholdvalue. For example, if the number of users accessing the content isbelow the threshold, then the temporary storage buffer can be releasedfrom recording and associated with a pool of unassociated storagebuffers. In some scenarios, the recording of the first segment can bedeleted or otherwise overwritten after it is released. In otherscenarios, the recording of the first segment can be saved and/or copiedto another a storage location.

FIG. 6 is a flowchart illustrating yet another example method 600 formanaging content. At step 602, content (e.g., content item,transmission, stream, recording) can be requested (e.g., by a user). Inone aspect, the content can comprise a content item having a start timeand an end time. For example, the content can comprise a first segment.The first segment of the content can comprise a first part (e.g.,portion, segment) of a content item. The first part of the content itemcan begin at a first time. The first segment of the content can berecorded if the number of users (e.g., subscribers, clients, devices)accessing the content reaches a threshold value. For example, the firstsegment of the content can be recorded at a device. The device can beconfigured to record the first segment of the content as long as thenumber of users accessing the content is equal to the threshold valueand/or above the threshold value.

In one aspect, the device can be configured to monitor (e.g., track) thenumber of users (e.g., subscribers, clients, devices) accessing thecontent. For example, the first segment of the content can be recordedat the device in a time-shift buffer if the number of users accessingthe content reaches the threshold value. In another aspect, the firstsegment of the content is not recorded at the device if the number ofusers accessing the content becomes less than the threshold value. Insome scenarios, the device can be configured to record the first segmentof the content if the number of users accessing the content becomes lessthan the threshold value. For example, the device can be configured torecord the first segment based on a prediction that the number of usersaccessing the content will reach the threshold value again within aspecified time period.

At step 604, it can be requested that a second segment of the content berecorded. The second segment of the content can comprise a second partof the content item. The second part of the content item can begin at asecond time. For example, a user can request to record at least aportion of the content. The request can be for a recording of an entirecontent item or for a portion thereof. As a further example, the usercan press a record button or otherwise provide a similar instructionwhile the user is accessing the content.

At step 606, access to at least the recording of the second segment ofthe content can be requested. For example, the user can request to viewthe content through a content interface on a set-top box, television,digital streaming device, computer, smart device (e.g., phone, watch,glasses, and the like), mobile device, tablet device, and/or the like.

At step 608, access can be received to a recording of the content. Inone aspect, the recording of the content can comprise at least some ofthe recording of the first segment of the content and at least some ofthe recording of the second segment of the content. For example, atleast some of the recording of the first segment of the content and atleast some of the recording of the second segment of the content can bereceived as a single recording (e.g., copy, version, instance ofcontent) associated with a user. As a further illustration, the firstsegment can comprise a plurality of first content fragments. The secondsegment can comprise a plurality of second content fragments. At least aportion of the first content fragments can be copied and added (e.g., aspart of a complete content item) to at least a portion of the secondcontent fragments. The single recording can comprise more of the contentitem than was available in the second segment. In one aspect, the singlerecording can be associated with the user. In one aspect, step 608 canbe performed in response to step 606. In one aspect, receiving access tothe recording of the content can occur if the start time of the contentitem is prior in time to a start time of the recording of the secondsegment of the content.

FIG. 7 is a flowchart illustrating an example method 700 for managingcontent. At step 702, a number of users (e.g., subscribers, clients,devices) accessing content (e.g., transmission, stream, file) can bemonitored (e.g., tracked). For example, a count of the number of usersaccessing the content can be increased and/or decreased based on achange in the number of users accessing the content. As an illustration,when a user tunes to, requests, or otherwise accesses the content, thecount can be increased or incremented by one or some other appropriatevalue. When a user (e.g., the same or a different user) tunes away from,disconnects from, or otherwise leaves the content, the count can bedecreased or decremented by one or some other value. As long as at leastone user is tuned to or otherwise accessing the content, the count canhave a value greater than zero. When no users are tuned to or otherwiseaccessing the content, then the count can have a value of zero.

At step 704, the content can be recorded, starting at a first time, in atime-shift buffer. The content can be recorded based on the number ofusers accessing the content reaching a threshold value. For example,recording the content in the time-shift buffer based on the number ofusers accessing the content reaching a threshold value can compriserecording a first segment of the content as long as the number of usersaccessing the content is equal to the threshold value and/or above thethreshold value.

In one aspect, the time-shift buffer can comprise a temporary storagebuffer configured to maintain a recording of a portion of the content.The portion can be continually updated such that only the most recentportion of the content (e.g., the last 2 hours) is stored in thetemporary storage buffer. For example, the time-shift buffer can have alimited allocation of space. As the time-shift buffer continues torecord new content (e.g., from a content stream), content recorded inthe buffer (e.g., the oldest content) can be deleted and/or replacedwith new content (e.g., from the content stream).

At step 706, the content can be recorded, starting at a second time,based on a request from a user. In one aspect, the first time can occurprior to the second time. For example, the portion of the contentrecorded starting at the second time can be recorded in a storagelocation associated with the user. As another example, the portion ofthe content recorded starting at the second time can be recorded in atemporary recording buffer. The portion of the content recorded startingat the second time can be copied from the temporary recording buffer toa storage location associated with the user.

At step 708, the recording of the content in the time-shift buffer andthe recording of the content requested by the user can be combined orotherwise associated. For example, the portion of the content recordedstarting at the first time can comprise a plurality of first contentfragments. The portion of the content recorded starting at the secondtime can comprise a plurality of second content fragments. At least aportion of the first content fragments can be copied and added to atleast a portion of the second content fragments. The combined recordingcan comprise more of the content item than was available in the portionof the content recorded starting at the second time. In one aspect, thecombined recording can be associated with the user.

In one aspect, the content can comprise a content item having a starttime and an end time. The recording of the content in the time-shiftbuffer (e.g., starting at the first time) can comprise a first part ofthe content item. In one aspect, the recording of the content requestedby the user (e.g., starting at the second time) can comprise a secondpart of the content item. Combining the recording of the content in thetime-shift buffer and the recording of the content requested by the usercan occur if the start time of the content item is prior in time to thesecond time.

At step 710, the combined recording can be provided (e.g. presented,transmitted) as a recorded content item (e.g., a single recording, copy,instance, version and/or the like that comprises at least some recordedcontent). In one aspect, the recorded content item can be provided tothe second user through an access and/or delivery network. For example,the recorded content item can be provided through a packet switchingprotocol (e.g., Internet Protocol) and/or a non-packet switchingprotocol (e.g., quadrature amplitude modulation).

At step 712, recording of the content in the time-shift buffer can becontinued. For example, the recording can be continued if the number ofusers accessing the content becomes less than the threshold value. As afurther example, the recording can be continued based on a predictionthat the number of users accessing the content will reach the thresholdvalue again within a specified time period. The prediction can be basedon user viewing statistics. The user viewing statistics can compriseuser viewing history for the content at a variety of times. Thespecified time period can be any number of seconds and/or minutes, suchas 10, 20, 30, or 45 seconds or 1, 3, 5, 10, 30, 45 minutes and thelike.

At step 714, recording in the time-shift buffer can be ended. Forexample, recording can be ended if the number of users accessing thecontent becomes less than the threshold value. For example, if thenumber of users accessing the content is below the threshold, then thetime-shift buffer can be released from recording and associated with apool of unassociated storage buffers. In some scenarios, the recordingin the time-shift buffer can be deleted or otherwise overwritten afterit is released. In other scenarios, the recording in the time-shiftbuffer can be saved and/or copied to another a storage location.

FIG. 8 is a flowchart illustrating yet another method 800 for managingcontent. At step 802, a first segment of content (e.g., transmission,stream, file) can be recorded. For example, the first segment can berecorded in a local device, such as a set-top box, digital videorecorder, or other computing device. The first segment can be recordedin a permanent storage location or a temporary storage buffer on thelocal device.

At step 804, a second segment of the content can be received from aremote device. In one aspect, the at least a portion of the secondsegment can be recorded by the remote device prior in time to therecording of the at least a portion of the first segment. The remotedevice can be configured to record the content in a temporary recordingbuffer based on a threshold number of users accessing the content. Inone aspect, the second segment of the content can be recorded at theremote device in a time-shift buffer if the number of users accessingthe content reaches the threshold number. As a further example, theremote device can be configured to record the second segment of thecontent as long as the number of users accessing the content is equal tothe threshold number and/or above the threshold number. In someimplementations, the remote device can be configured to end recording ofthe content if the number of users accessing the content becomes lessthan the threshold number. In other implementations, the remote devicecan be configured to record the second segment of the content if thenumber of users accessing the content becomes less than the thresholdnumber based on a prediction that the number of users accessing thecontent will reach the threshold number again within a specified timeperiod.

In one aspect, the remote device can be configured to track the numberof users accessing the content. As an illustration, when a user tunesto, requests, or otherwise accesses the content, the remote device canbe configured to increase or increment a counter by one or some otherappropriate value. When a user (e.g., the same or a different user)tunes away from, disconnects from, or otherwise leaves content, theremote device can be configured to decrease or decrement the counter byone or some other value. As long as at least one user is tuned to orotherwise accessing the content, the count can have a value greater thanzero. When no users are tuned to or otherwise accessing the content,then the count can have a value of zero.

At step 806, at least a portion of the first segment can be associatedwith at least a portion of the second segment. In one aspect,associating the at least a portion of the first segment with the atleast a portion of the second segment can occur if the start time of thecontent item is prior in time to a start time of the recording of thefirst segment of the content.

As an illustration, the content can comprise a content item having astart time and an end time. In one aspect, the second segment of thecontent can comprise a first part of a content item. The first part ofthe content item can begin at a first time (e.g., start time). In somescenarios, the first time can be after the time at which recording ofthe first segment of the content begins. In other scenarios, the firsttime can be before the time at which recording of the second segmentbegins. In one aspect, the first segment of the content can comprise asecond part of the content item. The second part of the content item canbegin at a second time. The second time can be after the first time. Ifthe first time is after the time at which recording of the secondsegment begins, then the first part and the second part of the contentitem can together comprise the entire content item. If the first time isbefore the time at which recording of the second segment begins, thenthe first part and the second part of the content item can togethercomprise a portion of the content item.

In one aspect, step 806 can comprise combining the first part of thecontent item and the second part of the content item to obtain a singlerecording. For example, the first segment can comprise a plurality offirst content fragments. The second segment can comprise a plurality ofsecond content fragments. At least a portion of the second contentfragments can be copied and added to at least a portion of the firstcontent fragments. The single recording can comprise more of the contentitem than was available in the first segment.

At step 808, the at least a portion of the first segment associated withthe at least a portion of the second segment can be provided as a singlecontent item (e.g., single content recording). For example, the localdevice can provide the single recording to a remote or local user.

In an exemplary aspect, the methods and systems can be implemented on acomputer 901 as illustrated in FIG. 9 and described below. By way ofexample, the content device 102 of FIG. 1 can be a computer asillustrated in FIG. 9. Similarly, the methods and systems disclosed canutilize one or more computers to perform one or more functions in one ormore locations. FIG. 9 is a block diagram illustrating an exemplaryoperating environment for performing the disclosed methods. Thisexemplary operating environment is only an example of an operatingenvironment and is not intended to suggest any limitation as to thescope of use or functionality of operating environment architecture.Neither should the operating environment be interpreted as having anydependency or requirement relating to any one or combination ofcomponents illustrated in the exemplary operating environment.

The present methods and systems can be operational with numerous othergeneral purpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that can be suitable for use with the systems andmethods comprise, but are not limited to, personal computers, servercomputers, laptop devices, and multiprocessor systems. Additionalexamples comprise set top boxes, programmable consumer electronics,network PCs, minicomputers, mainframe computers, distributed computingenvironments that comprise any of the above systems or devices, and thelike.

The processing of the disclosed methods and systems can be performed bysoftware components. The disclosed systems and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers or otherdevices. Generally, program modules comprise computer code, routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Thedisclosed methods can also be practiced in grid-based and distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules can be located inboth local and remote computer storage media including memory storagedevices.

Further, one skilled in the art will appreciate that the systems andmethods disclosed herein can be implemented via a general-purposecomputing device in the form of a computer 901. The components of thecomputer 901 can comprise, but are not limited to, one or moreprocessors or processing units 903, a system memory 912, and a systembus 913 that couples various system components including the processor903 to the system memory 912. In the case of multiple processing units903, the system can utilize parallel computing.

The system bus 913 represents one or more of several possible types ofbus structures, including a memory bus or memory controller, aperipheral bus, an accelerated graphics port, and a processor or localbus using any of a variety of bus architectures. By way of example, sucharchitectures can comprise an Industry Standard Architecture (ISA) bus,a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, aVideo Electronics Standards Association (VESA) local bus, an AcceleratedGraphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI),a PCI-Express bus, a Personal Computer Memory Card Industry Association(PCMCIA), Universal Serial Bus (USB) and the like. The bus 913, and allbuses specified in this description can also be implemented over a wiredor wireless network connection and each of the subsystems, including theprocessor 903, a mass storage device 904, an operating system 905,recording software 906, recording data 907, a network adapter 908,system memory 912, an Input/Output Interface 910, a display adapter 909,a display device 911, and a human machine interface 902, can becontained within one or more remote computing devices 914 a,b,c atphysically separate locations, connected through buses of this form, ineffect implementing a fully distributed system.

The computer 901 typically comprises a variety of computer readablemedia. Exemplary readable media can be any available media that isaccessible by the computer 901 and comprises, for example and not meantto be limiting, both volatile and non-volatile media, removable andnon-removable media. The system memory 912 comprises computer readablemedia in the form of volatile memory, such as random access memory(RAM), and/or non-volatile memory, such as read only memory (ROM). Thesystem memory 912 typically contains data, such as recording data 907,and/or program modules, such as operating system 905 and recordingsoftware 906, that are immediately accessible to and/or are presentlyoperated on by the processing unit 903.

In another aspect, the computer 901 can also comprise otherremovable/non-removable, volatile/non-volatile computer storage media.By way of example, FIG. 9 illustrates a mass storage device 904 whichcan provide non-volatile storage of computer code, computer readableinstructions, data structures, program modules, and other data for thecomputer 901. For example and not meant to be limiting, a mass storagedevice 904 can be a hard disk, a removable magnetic disk, a removableoptical disk, magnetic cassettes or other magnetic storage devices,flash memory cards, CD-ROM, digital versatile disks (DVD) or otheroptical storage, random access memories (RAM), read only memories (ROM),electrically erasable programmable read-only memory (EEPROM), and thelike.

Optionally, any number of program modules can be stored on the massstorage device 904, including by way of example, an operating system 905and recording software 906. Each of the operating system 905 andrecording software 906 (or some combination thereof) can compriseelements of the programming and the recording software 906. Recordingdata 907 can also be stored on the mass storage device 904. Recordingdata 907 can be stored in any of one or more databases known in the art.Examples of such databases comprise, DB2®, Microsoft® Access, Microsoft®SQL Server, Oracle®, mySQL, PostgreSQL, and the like. The databases canbe centralized or distributed across multiple systems.

In another aspect, the user can enter commands and information into thecomputer 901 via an input device (not shown). Examples of such inputdevices comprise, but are not limited to, a keyboard, pointing device(e.g., a “mouse”), a microphone, a joystick, a scanner, tactile inputdevices such as gloves, and other body coverings, and the like. Theseand other input devices can be connected to the processing unit 903 viaa human machine interface 902 that is coupled to the system bus 913, butcan be connected by other interface and bus structures, such as aparallel port, game port, an IEEE 1394 Port (also known as a Firewireport), a serial port, or a universal serial bus (USB).

In yet another aspect, a display device 911 can also be connected to thesystem bus 913 via an interface, such as a display adapter 909. It iscontemplated that the computer 901 can have more than one displayadapter 909 and the computer 901 can have more than one display device911. For example, a display device can be a monitor, an LCD (LiquidCrystal Display), or a projector. In addition to the display device 911,other output peripheral devices can comprise components, such asspeakers (not shown) and a printer (not shown) which can be connected tothe computer 901 via Input/Output Interface 910. Any step and/or resultof the methods can be output in any form to an output device. Suchoutput can be any form of visual representation, including, but notlimited to, textual, graphical, animation, audio, tactile, and the like.The display 911 and computer 901 can be part of one device, or separatedevices.

The computer 901 can operate in a networked environment using logicalconnections to one or more remote computing devices 914 a,b,c. By way ofexample, a remote computing device can be a personal computer, portablecomputer, smartphone, a server, a router, a network computer, a peerdevice or other common network node, and so on. Logical connectionsbetween the computer 901 and a remote computing device 914 a,b,c can bemade via a network 915, such as a local area network (LAN) and/or ageneral wide area network (WAN). Such network connections can be througha network adapter 908. A network adapter 908 can be implemented in bothwired and wireless environments. Such networking environments areconventional and commonplace in dwellings, offices, enterprise-widecomputer networks, intranets, and the Internet.

For purposes of illustration, application programs and other executableprogram components, such as the operating system 905, are illustratedherein as discrete blocks, although it is recognized that such programsand components reside at various times in different storage componentsof the computing device 901, and are executed by the data processor(s)of the computer. An implementation of recording software 906 can bestored on or transmitted across some form of computer readable media.Any of the disclosed methods can be performed by computer readableinstructions embodied on computer readable media. Computer readablemedia can be any available media that can be accessed by a computer. Byway of example and not meant to be limiting, computer readable media cancomprise “computer storage media” and “communications media.” “Computerstorage media” comprise volatile and non-volatile, removable andnon-removable media implemented in any methods or technology for storageof information such as computer readable instructions, data structures,program modules, or other data. Exemplary computer storage mediacomprises, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed by acomputer.

The methods and systems can employ artificial intelligence techniques,such as machine learning and iterative learning. Examples of suchtechniques include, but are not limited to, expert systems, case basedreasoning, Bayesian networks, behavior based AI, neural networks, fuzzysystems, evolutionary computation (e.g. genetic algorithms), swarmintelligence (e.g. ant algorithms), and hybrid intelligent systems (e.g.Expert inference rules generated through a neural network or productionrules from statistical learning).

While the methods and systems have been described in connection withpreferred embodiments and specific examples, it is not intended that thescope be limited to the particular embodiments set forth, as theembodiments herein are intended in all respects to be illustrativerather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is in no way intendedthat an order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; the number or typeof embodiments described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations can be made without departing from thescope or spirit. Other embodiments will be apparent to those skilled inthe art from consideration of the specification and practice disclosedherein. It is intended that the specification and examples be consideredas exemplary only, with a true scope and spirit being indicated by thefollowing claims.

What is claimed is:
 1. A system comprising: a content device configuredto monitor a number of users accessing content and provide anotification if the number of users accessing the content reaches athreshold value; and a recording device communicatively coupled to thecontent device and configured to perform steps comprising, receiving thenotification from the content device, recording a first segment of thecontent in response to the notification, receiving, via a network andfrom a user device, a request to record at least a second segment of thecontent, recording the second segment of the content based on therequest, and associating at least a portion of the recording of thefirst segment of the content with the recording of the second segment ofthe content.